package com.ybkj.daijia.server.service;

import com.ybkj.daijia.page.Page;
import com.ybkj.daijia.server.model.Driver;
import com.ybkj.daijia.server.model.Order;
import com.ybkj.daijia.server.model.Rate;
import java.util.Date;

/**
 * @author Shine
 */
public interface RateService {

    /**
     * @param driverid
     * @param end
     * @param start
     * @param name
     * @return name为null则查询出所有的信息，否则只查询出与name匹配的信息
     */
    public Page<Rate> queryAll(Long driverid, Date start, Date end);

    public Page<Rate> queryAll(String param);

    /**
     * 保存评价记录
     *
     * @param rate
     * @return
     */
    public Rate insertRecord(Rate rate);

    /**
     * 根据主键查询评价记录
     *
     * @param id
     * @return
     */
    public Rate findOne(Long id);

    /**
     * 评价
     *
     * @param rate
     * @param driver
     * @param order
     */
    public void rate(Rate rate, Driver driver, Order order);

    /**
     * 根据会员和订单查询评价记录
     *
     * @param memberid
     * @param orderid
     * @return
     */
    public Rate findByMemberAndOrder(Long memberid, Long orderid);

    /**
     * 根据主键删除评价信息
     *
     * @param rate
     */
    public void delete(Rate rate);

    public Page<Rate> pageRateByDriver(Long id, Integer page, Integer limit);

}
